public class Context {
    private State currentState;

    public Context() {
        this.currentState = State.FILE_READY;
    }

    public State getCurrentState() {
        return currentState;
    }

    public void setCurrentState(State currentState) {
        this.currentState = currentState;
    }

    // 根据当前状态执行操作
    public void doAction() {
        switch (currentState) {
            case FILE_READY:
                // 文件读取准备操作
                break;
            case START_READING:
                // 开始读取源代码文件操作
                break;
            case CHARACTER_READING:
                // 字符读取操作
                break;
            case CHECK_START:
                // 确认是新字符串的起始操作
                break;
            case STRING_BUILDING:
                // 字符串构建操作
                break;
            case CHECK_END:
                // 字符串结束检测操作
                break;
            case STRING_EXTRACTED:
                // 字符串提取完成操作
                break;
        }
    }
}